use correct qml style on Windows
authorJyrki Gadinger <nilsding@nilsding.org>
Fri, 31 Jan 2025 09:54:52 +0000 (10:54 +0100)
committerMatthieu Gallien <matthieu.gallien@nextcloud.com>
Fri, 31 Jan 2025 14:11:44 +0000 (15:11 +0100)
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
src/gui/main.cpp

index 25322ac081a432f6660ebedcc2752bfdedc4c005..46fcfcc4dfcf060cd865353f73fe0d8be3c412fe 100644 (file)
@@ -78,25 +78,30 @@ int main(int argc, char **argv)
 
     QQuickWindow::setTextRenderType(QQuickWindow::NativeTextRendering);
 
-    auto style = QStringLiteral("Fusion");
+    auto qmlStyle = QStringLiteral("Fusion");
+    auto widgetsStyle = QStringLiteral("");
 
 #if defined Q_OS_MAC
-    style = QStringLiteral("macOS");
-#endif
-
-    QQuickStyle::setStyle(style);
-    QQuickStyle::setFallbackStyle(QStringLiteral("Fusion"));
-
-#if defined Q_OS_WIN
+    qmlStyle = QStringLiteral("macOS");
+#elif defined Q_OS_WIN
     if (QOperatingSystemVersion::current().version() < QOperatingSystemVersion::Windows11.version()) {
-        QApplication::setStyle(QStyleFactory::create("Universal"));
+        qmlStyle = QStringLiteral("Universal");
+        widgetsStyle = QStringLiteral("Fusion");
     } else {
-        style = QStringLiteral("FluentWinUI3");
+        qmlStyle = QStringLiteral("FluentWinUI3");
+        widgetsStyle = QStringLiteral("windows11");
     }
 #endif
 
+    QQuickStyle::setStyle(qmlStyle);
+    QQuickStyle::setFallbackStyle(QStringLiteral("Fusion"));
+
     OCC::Application app(argc, argv);
 
+    if (!widgetsStyle.isEmpty()) {
+        QApplication::setStyle(QStyleFactory::create(widgetsStyle));
+    }
+
 #ifndef Q_OS_WIN
     signal(SIGPIPE, SIG_IGN);
 #endif